package com.dearbinge.data.dao.im;

import com.baomidou.mybatisplus.plugins.Page;
import com.dearbinge.data.pojo.im.ImUserContactTagRelation;
import com.dearbinge.data.pojo.im.vo.ImUserContactTagRelationVO;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * 好友标签中间表
 *
 * @author wes
 * @date 2019/2/27
 */
@Mapper
public interface ImUserContactTagRelationMapper {

    /**
     * 删除
     * @param relationId 关系id
     * @return 结果
     */
    int deleteByPrimaryKey(Integer relationId);

    /**
     * 插入
     * @param imUserContactTagRelation 实体类
     * @return 结果
     */
    int insert(ImUserContactTagRelation imUserContactTagRelation);

    /**
     * 根据id查询
     * @param relationId 关系id
     * @return 实体对象
     */
    ImUserContactTagRelation getByPrimaryKey(Integer relationId);

    /**
     * 更新
     * @param imUserContactTagRelation 实体类
     * @return 结果
     */
    int update(ImUserContactTagRelation imUserContactTagRelation);


    /**
     * 根据好友列表id查询
     * @param contactId 好友列表id
     * @return 结果集
     */
    List<ImUserContactTagRelation> listByContactId(Integer contactId);

    /**
     * 根据标签ID查询标签组成员
     * @param tagId 标签id
     * @param page 分页
     * @return 结果集
     */
    List<ImUserContactTagRelationVO> listByTagId(Integer tagId, Page<ImUserContactTagRelationVO> page);

    /**
     * 统计总数 根据标签ID查询标签组成员
     * @param tagId 标签id
     * @return 总数
     */
    Integer countByTagId(Integer tagId);
}